    #is_chinese函数来判断名字是否为中文
def is_chinese(name):
    for char in name:
        if not '\u4e00' <= char <= '\u9fff':
    #如果不是中文，则is_chinese函数返回False
            return False
    return True
while True:
    # 输入ID
    user_id = input("请输入ID：")
    # 判断ID是否只包含数字、字母和下划线，并且不包含中文字符
    if all((char.isalnum() or char == "_") and not is_chinese(user_id)for char in user_id):
        print("ID符合要求")
        break  # 符合要求则退出循环
    else:
        print("ID只能由数字、字母和下划线组成，请重新输入")
while True:
    # 输入Email
    user_email = input("请输入Email：")
    # 判断EMAIL地址是否要求符合基本电子邮件格式
    if "@" in user_email and "." in user_email:
    # 将电子邮件地址按 "@" 符号分割为用户名和域名部分
        parts = user_email.split("@")
    #分割后的结果是否包含且仅包含用户名部分和域名部分，用户名部分是否为空，域名部分中是否包含至少一个点号
        if len(parts) == 2 and parts[0] and parts[1].count(".") >= 1:
            print("Email格式正确")
            break  # 符合要求则退出循环
        else:
            print("Email格式错误，请重新输入")
while True:
    # 输入身份证号
    user_idcard = input("请输入身份证号：")
    #判断身份证号是否符合要求
    if len(user_idcard) == 18 and user_idcard[:17].isdigit() and (
            user_idcard[-1].isdigit() or user_idcard[-1].lower() == 'x'):
        print("身份证号格式正确")
        break # 符合要求退出循环
    else:
        print("身份证号格式错误，请重新输入")

while True:
    # 输入姓名
    user_name = input("请输入姓名：")
    # 判断姓名是否是中文且不超过4位
    if len(user_name) <= 4 and is_chinese(user_name):
        print("姓名格式正确")
        break
    else:
        print("姓名格式错误，请重新输入")
# 获取身份证号码的倒数第二位数字
gender_digit = int(user_idcard[-2])
    #判断性别
if gender_digit % 2 == 0:
        print("靓妹,您的个人信息如下:\nID:{}\nEmail:{}\n身份证号:{}\n姓名:{}".format(user_id, user_email, user_idcard, user_name))
else:
        print("靓仔,您的个人信息如下:\nID:{}\nEmail:{}\n身份证号:{}\n姓名:{}".format(user_id, user_email, user_idcard, user_name))